﻿namespace Incoding.MvcContrib
{
    #region << Using >>

    using System.ComponentModel;

    #endregion

    // ReSharper disable UnusedMember.Global
    public enum CssStyling
    {
        /// <summary>
        ///     This property controls the type of box an element generates.
        ///     <remarks>
        ///         The computed value may differ from the specified value for the root element and for floated or absolutely positioned elements;
        ///         The Relationship Between display, position, and float for details about the relationship between the display, float, and position properties.
        ///     </remarks>
        /// </summary>
        Display = 1, 

        /// <summary>
        ///     The width property sets the width of an element.
        /// </summary>
        Width = 2, 

        /// <summary>
        ///     The min-width property is used to set the minimum width of an element.
        /// </summary>
        [Description("min-width")]
        MinWidth = 4, 

        /// <summary>
        ///     The max-width property is used to set the maximum width of an element.
        /// </summary>
        [Description("max-width")]
        MaxWidth = 8, 

        /// <summary>
        ///     Clears an area around the content. The padding is affected by the background color of the box
        /// </summary>
        Padding = 16, 

        /// <summary>
        ///     The content of the box, where text and images appear
        /// </summary>
        Content = 32, 

        /// <summary>
        ///     Clears an area around the border. The margin does not have a background color, it is completely transparent
        /// </summary>
        Margin = 64, 

        /// <summary>
        ///     The height property sets the height of an element.
        /// </summary>
        Height = 128, 

        /// <summary>
        ///     The min-height property is used to set the minimum height of an element.
        /// </summary>
        [Description("min-height")]
        MinHeight = 256, 

        /// <summary>
        ///     The max-height property is used to set the maximum height of an element.
        /// </summary>
        [Description("max-height")]
        MaxHeight = 512, 

        /// <summary>
        ///     The text-align property is used to set the horizontal alignment of a text.
        ///     Text can be centered, or aligned to the left or right, or justified.
        /// </summary>
        [Description("text-align")]
        TextAlign = 1024, 

        /// <summary>
        ///     The text-decoration property is used to set or remove decorations from text
        /// </summary>
        [Description("text-decoration")]
        TextDecoration = 2048, 

        /// <summary>
        ///     The text-transform property is used to specify uppercase and lowercase letters in a text.
        /// </summary>
        [Description("text-transform")]
        TextTransform = 4096, 

        /// <summary>
        ///     The text-indent property is used to specify the indentation of the first line of a text.
        /// </summary>
        [Description("text-indent")]
        TextIndent = 8192, 

        /// <summary>
        ///     The border shorthand property sets all the border properties in one declaration.
        ///     The properties that can be set, are (in order): border-width, border-style, and border-color.
        ///     It does not matter if one of the values above are missing, e.g. border:solid #ff0000; is allowed.
        /// </summary>
        Border = 16384, 

        /// <summary>
        ///     The background shorthand property sets all the background properties in one declaration.
        ///     The properties that can be set, are: background-color, background-position, background-size, background-repeat, background-origin, background-clip, background-attachment, and background-image.
        ///     It does not matter if one of the values above are missing, e.g. background:#ff0000 url(smiley.gif); is allowed.
        /// </summary>
        Background = 32768, 

        /// <summary>
        ///     The color property is used to set the color of the text.
        ///     <example>
        ///         With CSS, a color is most often specified by:
        ///         a HEX value - like "#ff0000"
        ///         an RGB value - like "rgb(255,0,0)"
        ///         a color name - like "red"
        ///     </example>
        /// </summary>
        Color = 65536, 

        /// <summary>
        ///     This property specifies whether an element is visible—that is, whether the box(es) that are generated by an element are rendered.
        ///     <remarks>
        ///         Note that even if a box in the normal flow is hidden, it still affects the layout of other elements, unlike the behavior that occurs when we suppress box generation altogether by setting display to none.
        ///         Descendant boxes of a hidden box will be visible if their visibility is set to visible, whereas descendants of an element for which display is set to none can never generate boxes of their own.
        ///     </remarks>
        /// </summary>
        Visibility = 262144, 

        /// <summary>
        ///     The font shorthand property sets all the font properties in one declaration.
        ///     The properties that can be set, are (in order): "font-style font-variant font-weight font-size/line-height font-family"
        ///     The font-size and font-family values are required. If one of the other values are missing, the default values will be inserted, if any.
        /// </summary>
        Font = 524288, 

        /// <summary>
        ///     The font-size property sets the size of a font.
        /// </summary>
        [Description("Font-size")]
        FontSize = 1048576, 

        /// <summary>
        ///     The font-family property specifies the font for an element.
        /// </summary>
        [Description("Font-family")]
        FontFamily = 2097152, 

        /// <summary>
        ///     The font-style property specifies the font style for a text.
        /// </summary>
        [Description("Font-style")]
        FontStyle = 4194304, 

        /// <summary>
        ///     In a small-caps font, all lowercase letters are converted to uppercase letters.
        ///     However, the converted uppercase letters appears in a smaller font size than the original uppercase letters in the text.
        ///     The font-variant property specifies whether or not a text should be displayed in a small-caps font.
        /// </summary>
        [Description("Font-variant")]
        FontVariant = 8388608, 

        /// <summary>
        ///     The font-weight property sets how thick or thin characters in text should be displayed.
        /// </summary>
        [Description("Font-weight")]
        FontWeight = 16777216, 
    }

    // ReSharper restore UnusedMember.Global
}